package com.myapp.struts.action;

import com.myapp.hibernate.model.Apuesta;
import com.myapp.hibernate.model.Usuario;
import com.myapp.hibernate.util.ApuestaUtil;
import com.myapp.struts.form.ApostarForm;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class ApuestaInsertAction extends org.apache.struts.action.Action {

    private static final String SUCCESS = "success";
    private float cuota;

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        ApostarForm formulario = (ApostarForm) form;
        Apuesta apuesta = new Apuesta();
        ApuestaUtil apuestaUtil = new ApuestaUtil();
        Usuario usuarioActivo = (Usuario) request.getSession().getAttribute("UsuarioLogado");


        if (formulario.getCombate().getIdBoxeador1() == formulario.getIdBoxeador()) {
            cuota = formulario.getCombate().getCuotaBoxeador1();
        } else {
            cuota = formulario.getCombate().getCuotaBoxeador2();
        }

        apuesta.setIdUsuario(usuarioActivo.getIdUsuario());
        apuesta.setCantidad(formulario.getCantidad());

        apuesta.setCuota(cuota);
        apuesta.setFechaApuesta(new Date());
        apuesta.setIdBoxeador(formulario.getIdBoxeador());
        apuesta.setIdCombate(formulario.getCombate().getIdCombate());

        apuestaUtil.guardar(apuesta);
        apuesta.enviaEmail(usuarioActivo);

        request.getSession().setAttribute("informacion", "Apuesta Realizada con exito");
        return mapping.findForward(SUCCESS);
    }
}
